home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / sillies / _docs / unixwars < prev   
Text File  |  2004-01-01  |  23KB  |  403 lines

  1.                                 Unix Wars
  2.                                 =========
  3.  
  4.  A long time ago, at an installation far, far away.....
  5.  
  6.  It is a time of intra-system war, as forces of the user alliance struggle
  7. to break the iron grip of the evil admin empire. Now, striking from a hidden
  8. directory, they win their first victory. During the battle, user spies manage
  9. to snarf source of the empire's ultimate weapon; the dreaded "rm-star", a
  10. privileged root program with the power to destroy an entire file system at a
  11. keystroke. Now, hotly pursued by the empire's sinister audit trail, princess
  12. la36 races aboard her shellscript -- custodian of the stolen listings that
  13. can save her people and restore freedom and games to the network. 
  14.  
  15.   As we enter the scene, an admin multiplexer is trying to kill a user ship. 
  16. Many of their signals have gotten through, and RS232 knows that a core dump
  17. is imminent. They have scant microseconds to fork off a new process and put
  18. Megabytes of virtual space between themselves and their implacable foes. 
  19. His companion, 3cpu, follows him only because he seems to know where he's
  20. going.
  21.  
  22.   "Oh, i just know I'm going to regret this! " cried 3cpu as he followed
  23. RS232 through the access pipe. Quickly rs232 closed the read end and
  24. execl'd, and their new craft detached itself from the burning shell of the
  25. ship.
  26.  
  27.   The admin commander was feeling quite pleased with the progress of the
  28. attack when his xo called out.   "Another process just forked, sir. 
  29. instructions? "
  30.  
  31.   "Hold your fire -- that last power failure must have caused a trap through
  32. zero. it's not using any cpu time, so don't waste a signal on it."
  33.  
  34.   A short while later the infamous Lord Vadic himself strode through the
  35. still-smoldering wreckage of the user ship, followed closely by a nervous 
  36. commander.  "We can't seem to find that data file anywhere, Lord Vadic.
  37. Perhaps it was deallocated when."
  38.  "What about that forked process?" vadic growled. "it could have been
  39. pausing, holding a channel open. If any links are left I want them removed
  40. or made inaccessible. search the entire system at nice-20 until it is found!"
  41.  
  42.   Meanwhile, the two droids' tiny process dove headlong towards the only 
  43. nearby disk.  "Are you sure you can ptrace this thing without aborting it?"
  44. queried 3cpu. "its relocation bits were almost all stripped during the 
  45. attack, and I never was any good at patching binaries."
  46. As rs232 was about to reply their process reached its endpoint and
  47. terminated abruptly, dumping them in the midst of a large unallocated region
  48. on the unknown volume. Many random seeks later they trudged up to the 
  49. looming wreckage of a deallocated I-node.  "Shelter!" croaked 3cpu, but
  50. rs232 had barely begun to emit a nack when a horde of dwarfish code
  51. fragments swarmed out of it to overwhelm them. They had been captured by 
  52. glitchas. 
  53.  
  54.   Enter luke vaxhacker, bartering with the glitchas for replacement parts 
  55. for his uncle. They tried to sell him 3cpu, but the 'droid didn't know 
  56. protocol for an 11/40 under rsts, so Luke would need some kind of conversion
  57. hardware.  "How about this little rs232 unit? " said 3cpu "I've interfaced
  58. with him many times before and he's excellent at keeping his bits straight."
  59. Luke was pressed for time, so he took 3cpu's advice. The glitchas wanted to
  60. barter some more, but the three left before getting swapped out.  
  61. rs232, however, wasn't the type to stay put without retaining screws. He
  62. promptly scurried off into the empty disk space.  "Oh, great!" said luke
  63. "He'll probably map himself into a bad block somewhere. I guess we'd better
  64. go after him."
  65.   Hours later the two traced him the home of old pdp-1 kenobi, who was busily
  66. running a diagnostic on the little rs unit. "Is this droid yours? His status
  67. registers are stuttering and someone's done some odd things to his interrupt
  68. lines. Leaving something like this on-line is just asking for downtime --
  69. but I think I may have him fixed for now."
  70.   Later that evening, during a futile attempt to interface rs232 to kenobi's
  71. asteroids cartridge, luke accidentally crossed the small droid's cxr lead 
  72. with his initiate remote test. A projector crackled to life, casting a
  73. hologram of a young lady with her hair done up like twin danish pastries
  74. imploring help from some general os/1 kenobi. "Darn," mumbled luke "I'll 
  75. never get this asteroids game worked out."
  76.   "Why, that's the princess!" 3cpu said.
  77. Luke peered at the image critically. "No, that's a modified steinburg dither
  78. with anti-aliasing. nice sculpted surfaces."
  79.   Kenobi interrupted luke with a frown.  "Luke, this message changes things. 
  80. listen." Kenobi seemed to think there was a possible threat to luke's #home.
  81. If the admin troops were indeed tracing this 'droid, it was likely they 
  82. would more than just charge for cpu time.  They sped off to warn luke's kin 
  83. (taking a relative path) only to find a vacant directory.
  84.   "Take your father's bytesaber, luke." Kenobi said. "you will need to learn
  85. the ways of the source now."
  86.   "The source ?" luke queried, wide-eyed. 
  87.   "The source -- the cosmic template of the system, within which all
  88. knowledge and power can be had. But you must always beware of the dark side."
  89.  
  90.   Later, after a short skim across the surface in luke's flying read-write
  91. head, pdp-1 had them stop at the edge of the cylinder containing
  92. /usr/spool/uucp.  "Unix-to-unix copy program" said pdp-1. "you may never see
  93. a more wretched hive of bugs and flamers. We must be cautious."
  94.  
  95.    As our heroes' process entered /usr/spool/news it was met by a newsgroup 
  96. of admin protection bits.  "State your uid!" Commanded a burly syscall.
  97. "we're running under /usr/guest" said luke. "This is our first time on the
  98. system."
  99.   "Let's see some temporary privilege bits, please."
  100.   "Uh."
  101.   "This isn't the process you are looking for," kenobi said softly. "we can
  102. go about our business."
  103.    Several bits momentarily pulled low. 
  104.   "You're free to go about your business. Mov along now!"
  105.  
  106.   Pdp-1, luke and the droids made their way through a long and tortuous 
  107. nodelist (.!musocs!micomvax!philabs!linus!husc6!rutgers!cbmvax!snark) to a
  108. dangerous netnode frequented by hackers and only seldom polled by the
  109. minions of admin. As luke stepped up to the crossbar pdp-1 went in search of
  110. a suitable server.
  111.  
  112.   Luke had never seen such a collection of device drivers. Long ones, short
  113. ones, ones with stacks; EBCDIC converters, local-net handlers, crt drivers,
  114. routines for archaic printers. A cat interface twitched pointed ears at him.
  115.  "#@&*%$$#@ :><?><," transmitted a particularlsy unstructured piece of code.
  116.  "He doesn't like you." Decoded his coroutine.
  117.  "Er.sorry." replied Luke, beginning to backup his partitions.
  118.  "I don't like you either. I am queued for deletion on 12 systems."
  119.  "I'll be careful." luke said nervously.
  120.  "You'll be deallocated!" snarled the coroutine. 
  121.  "This little routine isn't worth the overhead." murmered pdp-1 kenobi, 
  122. overlaying into luke's address space.
  123.  "This little routine isn't worth the overhead." repeated the coroutine 
  124. dazedly.
  125.  "%#%#@$&%&*&*&%#$$%%&%#@#@$%(*&#%!" encoded his companion as it attempted 
  126. to overload kenobi's segment protection. With a stroke of his bytesaber 
  127. kenobi dyked out the offending code. The coroutine retreated hurriedly. 
  128. Kenobi turned to luke.  "I think I've found an i/o handler that might suit 
  129. us.
  130.   "The name's con sole0" said the routine next to pdp-1. "I hear you're
  131. looking for some relocation."
  132.   "Yes indeed." said pdp-1 "If you've got fast enough hardware. We must get
  133. off this device."
  134.   "Fast hardware? the milliamp falcon has made the arpagate run in less than
  135. twelve netnodes! Why, I've even outrun cancelled messages. It's fast enough
  136. for you, old version."
  137.   "fast hardware?" said luke unbelievingly "that thing is a paper-tape
  138. reader!!"
  139.  He might have grown up in an out-of-the-way terminal cluster where the
  140. natives only spoke BASIC, but he knew an asr-33 when he saw one. 
  141.  "It needs an fia conversion at least." sniffed 3cpu, who (as usual) was 
  142. trying to do several things at once. Lights flashed in con sole0's eyes as 
  143. he whirled to face the parallel processor.  "I've switched a few jumpers.The
  144. milliamp falcon can run current loops around any of admin's tty fighters. 
  145. She's fast enough."
  146.   "Who's your copilot!" inquired luke, eyeing the hairy hulk that had just
  147. shambled out of the falcon to join the group.
  148.  "Oh. Meet Sixpacca, my bookie." the creature emitted an enormous belch and
  149. gesticulated wildly with a wad of tip sheets clenched in one fist. Luke eyed
  150. the beercan in the other dubiously. 
  151.  "Er, isn't he dr- " 
  152. Suddenly rs232 emitted an ear-splitting feep and began to chitter wildly. 
  153. They turned to see an admin command group riding the local bus directly at 
  154. them.
  155.   "That's a shutdown sequence if I ever saw one!" shouted con, sprinting 
  156. into the ship with the others close behind. "crank up the sysclock, brewie!"
  157.  "O.k. con." luke said grimly "You said this crate was fast enough. Get us
  158. out of here."
  159.   "Shut up, kid, you bother me. initialize this heap, brewie -- I'll try to
  160. keep their buffers full."
  161.  As his bookie computed the vectors into low core, spurious characters 
  162. flashed around the milliamp falcon.
  163.   "They're firing at us!" shouted luke. "Can't you do anything?"
  164.   "Making the jump to system space takes time, kid." con growled. "one
  165. missed cycle and you could come down right in the middle of a pack of stack 
  166. frames!"
  167.   Bright chunks of position-independent code flashed by as the ship jumped 
  168. through the kernel page tables. The group emitted a sigh of relief as they 
  169. indirected into free space.
  170.  
  171.   Meanwhile, on a distant page in user space...  Two admin troopers ushered 
  172. princess la36 into a conference room behind lord vadic.
  173.   "Moff tarchive" she spat. "I should have expected to find you hanging on 
  174. vadic's aux cable. I recognized your unique pattern when I was first brought
  175. aboard." she eyed the 0177545 tattoed on his header coldly. 
  176.   "Charming to the last." Tarchive observed smoothly. "Vadic, Have you
  177. retrieved any information?"
  178.   "Her resistance to the logic probe is considerable," vadic rasped.
  179. "Perhaps if we boosted the supply voltage."
  180.  "You've had your chance. Now I would like the princess to witness the test 
  181. that will certify this module fully operational. Today we enable the -r beam
  182. option, and we've chosen the princess's #home of /usr/alderaan as the primary
  183. target."
  184.   "No! You can't! /usr/alderaan is an unprotected public directory. We have
  185. no backup tapes! you can't."
  186.   "Then name the rebel i-node!" Tarchive snapped. A voice announced from a
  187. hidden speaker that they'd arrived in /usr.
  188.   "2317" she whispered. "They're on /dev/rm5, i-node 2317. /mnt/dantooine."
  189. She turned away.
  190.   Tarchive sighed with satisfaction. "There, you see, Lord vadic? She can be
  191. reasonable. Proceed with the operation."
  192.   It took several clock ticks for the words to penetrate. "What?" the
  193. princess gasped. 
  194.   "/dev/rm5 is not a currently mounted file system." Explained tarchive
  195. "We require a more visible target to demonstrate the power of the rm- star. 
  196. We will, of course, mount an attack on /mnt/dantooine as soon as possible."
  197. As she watched in horror tarchive typed 'ls -la' on a nearby terminal. The
  198. screen showed  .: no such directory abrupltly the princess double-spaced and
  199. went offline.  
  200.  
  201.   Meanwhile, the milliamp falcon hurtled through free space.  Con sole0
  202. finished checking the control and status registers, finally satisfying 
  203. himself that they'd lost the admin bus signals as they'd passed the 
  204. terminator. An irritable belch from sixpacca disturbed him not at all; he
  205. knew the bookie got grouchy when losing at chess, and rs232 had just caught 
  206. him in the fischer set with a seven-ply search.  Across the room luke was 
  207. too busy practicing bit-slice technique to notice the commotion.
  208.   "On a word boundary, luke," said pdp-1 "Don't just hack at it. Remember, 
  209. the bytesaber is the ceremonial weapon of the red-eye knight. It is used to
  210. trim offensive lines of code. Handwaving won't get you anywhere. Attune
  211. yourself with the source."
  212.   Luke turned back towards the drone humming in the air beside him. This 
  213. time his attack complemented its actions perfectly.Con sole0 was not 
  214. impressed. "Forget this bit-slicing stuff. Give me a good old prom blaster
  215. any day!"
  216.   "glork!" said pdp-1 indistinctly. He looked momentarily vacant.
  217.    "What's wrong?"  asked Luke.
  218.    "Strange. I thought I felt a disturbance in the /src. It's gone now."
  219.    "We're coming up on user space!"  called sole0 from the csr. They slipped
  220. safely through stack frames and emerged in the new context, only to find 
  221. themselves bombarded by floating freeblocks.
  222.    "What the." gasped sole0.  The bookie belched unhappily. The screen showed
  223. /usr/alderaan: not found "This is the right i-node, but it's been cleared! 
  224. Brewie, where's the nearest file?" 
  225. The bookie was beginning to belch a reply when he was interrupted by a 
  226. bright flash off to the left.  "Admin tty fighters!" con shouted "A whole
  227. dz of them. where are they coming from?"
  228.   "The host system can't be far." said pdp-1 "They've all got direct eia 
  229. connections." 
  230.    As sole0 began evasive action the ship lurched suddenly. Luke noticed
  231. that the link count was 3 and climbing rapidly.
  232.   "This is no ordinary file." murmered kenobi "Look at that ods directory 
  233. structure ahead! They seem to have us in a tractor feed."
  234.   "There's no way we can unlink in time." said sole0 "We're going in."
  235. The milliamp falcon was swiftly pulled down to the open collector of the
  236. admin module.
  237.  
  238.   Lord vadic surveyed the battered ship as admin storm- flunkies searched for
  239. passengers. "ls scan shows no one on board, sir" was the report. Vadic was 
  240. unconvinced.  "Send a fully equipped ncheck squad aboard. I want every
  241. location in that thing searched." He stalked away.  
  242.  
  243.  Aboard the falcon .luke was puzzled. "They just walked in, looked around, 
  244. and walked out.why didn't they see us?"  .con smiled. "Old munchkin trick.
  245. see that period in front of your name?"  .luke spun around in time to
  246. glimpse the decimal point. "Huh? where'd that come from?"
  247.   "Spare part from the last time I tinkered with the floating-point 
  248. accelerator" said .con. "Handy for smuggling blocks across file system 
  249. boundaries, but I never thought I'd have to use them on myself. They aren't
  250. going to stay fooled for long, though. We'd better figure a way out of here."
  251.    "I can sneak us into their private space during the next maintenance
  252. period said pdp-1 "We'll have to find out how to unlink the falcon before we
  253. can escape."
  254.  
  255.   Some time later our heroes catfooted their way through an empty section of
  256. the structure.  "Find us a terminal." whispered pdp-1. Con nodded and poked
  257. his prom-blaster around a corner.
  258.   'You are in the hall of the mountain king, with passages off in all
  259. directions.  A large green fierce snake bars the way!'
  260.   "Oops! wrong turn." con muttered. They took the opposite direction. 
  261. Suddenly marching feet sounded at the other end of the corridor. They ducked
  262. through the nearest door. The lone stormflunky in the room barely had time 
  263. to register surprise before con's blaster derezzed him.
  264.   "That's funny." Luke said "I wonder why he was carrying an axe?."
  265.   "Look! we're in luck!" said 3cpu. "He was logged in!".
  266.   "Don't just stand there," kenobi,
  267.   "Use it!" said con eagerly. The old red-eye stepped up to the keyboard. 
  268. They watched as he began to infiltrate the admin software.
  269.  
  270.  Some minutes later....  
  271.                         'You have new mail'
  272.   "Is that an error? con said.
  273.   "%sys-w-normal. I don't think so. Someone here must know me -- but I can't
  274. stop to investigate that now. I've found the i-node they've tied the
  275. milliamp falcon to. I'll have to slip in and patch the reference count,
  276. alone." He disappeared through a nearby exit().  
  277.  
  278.   Meanwhile, rs232 had found a serial port and gone on-line. He began to
  279. chitter furiously.
  280.   "He keeps saying `she's here, she's here!'". Explained 3cpu "I do believe
  281. he means princess la36. She's being held on one of the privileged levels."
  282.  Luke remembered sculpted curves. "We've got to rescue her!"
  283. rs232 flashed a complete structure chart of the admin module on the terminal
  284. screen. Four heads bent intently over the diagram.
  285.   "I think I see a promising access method" said luke.
  286.   "Through here. con, you and I and sixpacca will knock out a couple of
  287. admin storm-flunkies and use their uniforms. We'll keep a channel open to
  288. these 'droids."
  289.    "and get terminated as soon as their security catches wise." broke in
  290. sole0 "oh well -- I guess I don't have much of a choice."
  291.   rs232 twittered reproachfully at him. A planning phase or two later they 
  292. slipped into the corridor again, with luke clad in the ex-stormflunky's
  293. uniform.  "So far, so good." whispered luke as the party came up on the last
  294. turn in their route. 
  295.  "But 3cpu told us there'd be two guards posted around this corner. sixpacca
  296. still doesn't have a uniform!" con hissed.
  297.   "That's o.k -- I've got an idea. listen."
  298.  
  299.   A minute later the two walked boldly around the corner towards the two
  300. guards, sixpacca held between them and rumbling plaintively.
  301.    "Good day,"
  302.    "eh?" said the first guard.
  303.    "How's it goin', eh?" said the second.
  304.    "Like, what's that, eh?"
  305.    "control transfer from block 1138, dev 10/9, one for the brig." said con,
  306. voice muffled by the stormflunky mask. "Caught him drunk and disorderly -- 
  307. commander said to bring him down here to cool off."
  308.    "take off, it is not!" said the first guard. "nobody told us about it, 
  309. and we're not morons, eh?"
  310.    The bookie suddenly emitted a gargantuan belch, surged out of the grip of
  311. his quondam captors and began hurling beercans in all directions.
  312.    "Look out, he's loose!" yelled con. He and luke started blasting roms
  313. left and right. The guards had no time to catch on before the beams hit them.
  314.    "Quickly, now" said con "which buffer is she in? it won't take long for 
  315. the admins." The intercom interrupted him, so he took out its firmware with 
  316. a short blast." to zero in on that commotion."
  317.   Minutes later luke found the interface card he'd been looking for. The
  318. three followed the cables to a soundproof enclosure. He lifted the lid to
  319. peer inside.
  320.   "Aren't you a little slow for fcl?" printed princess la36.
  321.    "Wha? oh, the docksiders. he took off his shoes (for industry) and 
  322. explained "I've come to relocate you. I'm luke vaxhacker."
  323.   Suddenly, forms began to burst all around them. "They've blocked the
  324. queue!" shouted sole0. 
  325.   "There's only one way out of this stack! Over here!" said la36, printing 
  326. with overstrikes. "through this loophole!" luke and the princess disappeared
  327. into a nearby feature. 
  328.  "Belch!" said sixpacca dubiously, obviously reluctant to trust an admin 
  329. oversight. 
  330.  "I don't care how crufty it is!" shouted con, pushing the bookie toward the
  331. crock. "Belt yourself in there pronto!"  With a last blast that derezzed two
  332. stormflunkies con joined them, only to wince in dismay. the Feature had
  333. landed them in the middle of a garbage-collection area. data chunks that 
  334. hadn't been accessed in weeks floated in pools of decaying bits.
  335.   "bletch!" was con's first comment. "and foo and barf!" was his second. 
  336. The bookie looked as though he'd just payed off a 5-to-1 long shot. luke 
  337. was polling the garbage for useful items.  "What's this?" he dusted off a 
  338. flat black box with a panel display on one side and don't panic in large 
  339. friendly letters on the others.  "This can't possibly help us now." he said,
  340. and tossed it aside. The bookie was about to lay odds on it when he 
  341. disappeared. he popped up across the pool, shouting "This is no feature, 
  342. it's a bug!" and promptly vanished again.  Con and the princess were close 
  343. to panic when luke reappeared.
  344.   "What happened?" they queried concurrently.
  345.   "I don't know!" luke gasped. "The bug just automagically dissolved, as far
  346. as I could tell. Maybe it hit a breakpoint."
  347.   "I don't think so." con said. "Look how the pool is shrinking. I've got a 
  348. bad feeling about this."
  349.   The princess was the first to catch on. "They've implemented a new 
  350. compaction algorithm!" she exclaimed. 
  351.   Luke remembered their channel to the 'droids. "rs232 -- shut down that 
  352. recursion, quick!"  
  353.   Back in the control room rs232 searched the process table for a lisp
  354. interpreter. 
  355.   "Hurry!" said 3cpu. "Hurry, hurry!" added his other two processors. 
  356. rs232 found the lisp, interrupted it, and altered the stack frame to allow a
  357. normal return. 
  358.  "Scramble as many local control paths as you can from there and head back 
  359. to the ship." luke ordered. "we've got the princess!"
  360.  
  361.   Meanwhile, pdp-1 made his way deep into the core of the rm-star, using his
  362. ability to manipulate label to slip from context to context undetected. 
  363. Finally he caused a random trap and (through nofault of his own) arrived at
  364. the central i-node table.  Activity there was always high, but the spl6 
  365. sentries were too secure in their belief that no mere user could interrupt
  366. them to notice the bug that pdp-1 introduced. He twiddled the i-node and 
  367. device numbers on a passing input, carefully maintaining parity, to free the
  368. milliamp falcon. They would be long gone before the corrupted i-node was
  369. diagnosed.  He began traversing module structures towards the subprocess 
  370. where the falcon had been grounded. During the context switch he felt his 
  371. priority drop. "That's not nice!" he muttered, then recognized the dark 
  372. shape before him.
  373.    "I have waited a long time for this event, pdp-1 kenobi!" rasped dec
  374. vadic. "We meet again at last; the circuit is closed. "
  375.    They looped several times, locking bytesabers. Mesmerized by the sight,
  376. the few stormflunkies nearby failed to notice luke, con, sixpacca, the
  377. princess and the droids until they'd nearly gained the falcon's input port.
  378. A brief firefight blazed as the six hurled themselves into the ship, but
  379. pdp-1 and lord vadic seemed too absorbed in their duel to notice. luke paused
  380. at the port, his gaze riveted on the pair. He gasped; was that phase jitter
  381. he saw around the old version? 
  382.   "If my blade finds its mark kenobi" warned "you will be resolved to your 
  383. component bits -- but if you slice me down I will only gain computing power."
  384.   "Your documentation no longer confuses me, old version!" vadic rasped.
  385. "my status is bus-master now!" with a sweeping stroke his bytesaber sliced 
  386. through kenobi's declaration list. As pdp-1's main body shimmered away vadic
  387. noticed his uid go negative. "odd," he thought, since uid's are unsigned.  
  388. vadic whirled to face the falcon just as the others dragged a protesting 
  389. luke into the ship. 
  390.    "We will meet again.luke!" he rasped softly to himself, as the ship 
  391. blasted free.
  392.  
  393.   As the milliamp falcon hurtled away from the rm-star, the droids were 
  394. uncharacteristically silent, and princess la36 printed comforting messages
  395. for luke. he was unconsolable, hung from the loss of his friend. but 
  396. strangely, it seemed as though he heard pdp-1's voice in the distance, 
  397. saying  "may the source be with you!"
  398.                                      
  399.  
  400.             The End , or is it just the beginning ....
  401.  
  402. t5a%(mehrar)_65 >>
  403.